A digital communication system is a common communication system. FIG. 1 is a structural block diagram of a digital communication system according to the related art. As shown in FIG. 1, the digital communication system is generally composed of a transmitting side, a channel and a receiving side, wherein the transmitting side generally includes a source, a source encoder, a channel encoder and a modulator and etc., the receiving side generally includes a demodulator, a channel decoder, a source decoder and a sink, a channel (or a storage media) exists between the transmitting side and the receiving side, and a noise source exists in the channel.
In the digital communication system, a channel coding link (including channel coding/decoding, modulating/demodulating and etc.) is the most important technology of the whole digital communication physical layer, which determines the effectiveness and reliability of bottom layer transmission of the digital communication system.
The functions of channel coding/decoding and modulating/demodulating parts in the channel coding link will be described in detail hereinafter.
The object of channel coding is to resist various noises and interferences in a transmission process. In general, by increasing redundant information artificially, the system can be enabled to obtain the capability of automatic error correction, so as to guarantee the reliability of the digital transmission. A Turbo code is one of currently-known optimal forward error correction codes, which is widely-used as a channel coding solution in data service transmission in numerous standard protocols. Moreover, with the increase of number of decoding iterations, the decoding error correction capability of the Turbo code will be continuously improved. The commonly-used Turbo code includes a binary Turbo code and a double-binary tail-biting Turbo code.
The process of rate matching is an important technology after the channel coding, the object of which is to repeat or puncture under the control of an algorithm the codeword bits after the channel coding, so as to guarantee that the data bit length after the rate matching matches the allocated physical channel resource. At present, there are mainly the following two rate matching algorithms: the 3rd generation partnership project (3GPP) R6 rate matching algorithm and circular buffer rate matching (CBRM for short) algorithm.
In the above, the circular buffer rate matching algorithm is a simple algorithm, and the performance of the generated puncturing pattern is excellent. Such a rate matching algorithm is used in most communication systems such as the 3GPP2 standard series, the IEEE802.16e standard and the 3GPP long-term evolution (LTE for short).
In the circular buffer rate matching algorithm, in the case that the code rate is 1/3, the codeword bits output by the Turbo coding are separated to obtain three data bit streams by bit separation, which includes a system bit stream, a first check bit stream and a second check bit stream. The above three data bit streams are respectively rearranged by a block interleaver, the processing procedure of which is usually referred to as intra-block interleaving. Afterwards, in an output buffer, the rearranged system bit stream is placed at the start position, and then the two rearranged check bit streams are interleavingly arranged, the processing procedure of which is usually referred to as inter-block interleaving.
In addition, in the processing procedure of the intra-block interleaving, Ndata coding bits can be selected as the output of the circular buffer rate matching according to an expected output code rate, and in the circular buffer rate matching, the Ndata coding bits are read from a certain designated start position in the output buffer, the process of which is referred to as bit selection. To sum up, the bits which are selected to be used for transmission can be read from any position in the buffer. After the last bit in the circular buffer is read, the next bit data thereto is the data of the first bit position in the circular buffer. Therefore, the rate matching (puncturing or repeating) based on the circular buffer can be realized by a simple method. For an operation of the hybrid automatic repeat request (HARQ for short) which will be described hereinafter, the circular buffer has further the advantage of flexibility and granularity.
The HARQ is an important link adaptation technology in the digital communication system. The function of the technology is that: a receiver decodes the received HARQ data packet, wherein if the decoding is correct, an ACK signal is fed back to a transmitting side to inform the transmitting side to send a new HARQ data packet; and if the decoding is failed, a NACK signal is feedback to the transmitting side to request the transmitting side to retransmit the HARQ data packet. The receiving side can improve the decoding success probability and realize the high reliability requirement in the link transmission, by performing the incremental redundancy (IR for short) or the chase combination decoding on multiply-repeated data packets.
In the HARQ mode, different position in the circular buffer can be designated as the start position for reading data for each transmission of HARQ data packet. According to the definition of redundancy version (RV for short), multiple start positions for reading data in the circular buffer for the HARQ data packet are determined, and according to the value of the redundancy version, the specific start position for reading data in the circular buffer in the present HARQ data packet transmission is determined.
For example, in the LTE, a redundancy version (RV) defines a start point in a circular buffer for selecting a segment of codeword to generate a current HARQ packet. If the number of the RV is 4, the redundancy version marks four positions equally in the circular buffer in a sequence from left to right by use of 0, 1, 2 and 3. The more detailed description can be obtained by reference to the proposals and standards of virtual circular buffer rate matching of the LTE, which will not be described in detail any more.
The HARQ subpacket identifier (SPID for short) is currently applied in the IEEE802.16e standard, and the function of the SPID is essentially the same as that of the redundancy version (RV). Both of them can be used for determining the specific position of subpacket data in the circular buffer.
In an IEEE802.16e system, the HARQ subpacket identifier and an HARQ data packet length collectively define the start position and the length of the HARQ subpacket data in the circular buffer, so as to select a segment of codeword in the circular buffer to generate the current HARQ subpacket.
In the above, the value range of the SPID is {00, 01, 10, 11}. The value of the SPID transmitted for the first time must be 00, and the values of the SPIDs in other retransmissions (i.e. it is not the first transmission) can be arbitrarily selected or selected in a certain order in the above SPID value range. That is to say, in multiple transmissions, a certain SPID value may be used repeatedly or may not be used.
In the HARQ mechanism, multiple HARQ subpackets can be generated based on the same mother code data. When two or more HARQ subpackets read the bit in the same position of the mother code data, the overlapping phenomenon may occur. To improve the system performance, such overlapping phenomenon should be avoided as much as possible, and the more mother code data should be covered.
FIG. 2 is a schematic diagram illustrating the rate matching process under the IEEE802.16e standard, 1/3 code rate, and coding by the convolutional Turbo code (CTC for short) according to the related art. As shown in FIG. 2, the process procedure of retransmission relates to the intra-block interleaving for S information bit, P1 check area and P2 check area. In this process procedure, four retransmissions are performed, i.e. four subpackets are transmitted, more particularly, the overlapping phenomenon occurs between the first subpacket (F1=0&L1) of the first retransmission and the second subpacket (F2&L2) of the second retransmission, and at the same time there exists the mother code codeword which is not be covered; and after the second retransmission is performed, the third subpacket (F3&L3) and the fourth subpacket (F4&L4) are transmitted.
In the adaptive HARQ transmission mode, the length and the value of modulation orders of each HARQ subpacket are both associated with the value of the number of subchannels of the HARQ subpacket. Since the number of the subchannels of the subpacket of each transmission may be varied due to the influence of multiple factors, the modulation orders and the length of HARQ subpacket of each transmission may both be varied.
FIG. 3 is a schematic diagram illustrating the process of the rate matching according to the related art. As shown in FIG. 3, there are 3NEPbits codewords in the circular buffer. In This process procedure, four retransmissions are performed. This method is based on the idea of continuous transmission actually, whereas the second retransmission, the third retransmission and the fourth retransmission are continuous transmission from back to front. The non-adaptive HARQ can realize the continuous transmission, however for the adaptive HARQ, since the size of Lk is different from each other, the third retransmission and the fourth retransmission can not be continuous coincidentally. FIG. 4 is a schematic diagram illustrating the coverage situation in the process procedure of the rate matching according to the prior and related art. As shown in FIG. 4, when the code rates of the third retransmission and the fourth retransmission are very high (i.e., the Lk of the third and fourth retransmission is much shorter than the Lk of the second retransmission), the severe overlapping may exist.
It can be concluded that, in the adaptive HARQ retransmission mechanism, since the length and the value of the SPID of a subpacket are different, on the one hand, the severe overlapping phenomena may exist which results in that the data with the same content is transmitted repeatedly, and probably results in that the subpacket data has large-area overlapping particularly when the SPID value is repeated; and on the other hand, a certain data content can not be transmitted at all time, thereby seriously affecting the system performance.
For the problem that the probability of the overlapping phenomena occurred in the process of the rate matching is high in the related art, there is no effective solution provided so far.